package com.base.service.workflow.bo;

import java.io.Serializable;
import java.util.List;

import com.gitee.magic.core.valid.annotation.BooleanValid;
import com.gitee.magic.core.valid.annotation.Format;
import com.gitee.magic.core.valid.annotation.Format.FormatType;
import com.gitee.magic.core.valid.annotation.NotNull;
import com.gitee.magic.core.valid.annotation.number.IntegerValid;
import com.gitee.magic.core.valid.annotation.number.LongValid;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter@Setter@ToString
public class AssigneeConfigBO implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	@Schema(description="是否带入")
	@NotNull
	@BooleanValid
	private Boolean bringIn;

	@Schema(description="或签(一名审批人同意或拒绝即可)")
	@NotNull
	@BooleanValid
	private Boolean orSign;

	@Schema(description="受理人列表")
	@NotNull
	@Format(type = FormatType.JSON_ARRAY)
	private List<AssigneeBO> assignees;
	
	@Getter@Setter@ToString
	public static class AssigneeBO implements Serializable{
		
		private static final long serialVersionUID = 1L;

		@Schema(description="Id类型")
		@NotNull
		@IntegerValid
		private Integer type;

		@Schema(description="对应的Id")
		@NotNull
		@LongValid
		private Long id;
		
	}
	
}
